#ifndef __DISPLAY_CONTROL_H__
#define __DISPLAY_CONTROL_H__

#include <LNM8F01.h>

// 数码管显示状态枚举
typedef enum {
    DISPLAY_IDLE,           // 空闲状态，显示当前模式
    DISPLAY_QUANTITY,       // 显示数量
    DISPLAY_SPEED,          // 显示速度
    DISPLAY_MODE,           // 显示模式
    DISPLAY_COLOR           // 显示颜色
} display_state_enumType_t;

// 新增：显示内容模式枚举
typedef enum {
    DISPLAY_MODE_DEFAULT = 0,   // 默认：千/百位显示模式，十/个位显示颜色
    DISPLAY_MODE_QUANTITY,      // 显示数量
    DISPLAY_MODE_SPEED,         // 显示速度
    DISPLAY_MODE_MODE,          // 显示模式
    DISPLAY_MODE_COLOR          // 显示颜色
} display_content_mode_enumType_t;

// 188数码管段码表（0-9, F, 不显示）
extern const uint8_t seg_code[12];

// 显示内容模式全局变量声明
extern display_content_mode_enumType_t g_displayContentMode;
extern uint32_t g_displayContentTimer;

// 初始化显示控制模块
void init_display(void);

// 更新显示状态（需周期性调用，建议2ms周期）
void update_display_state(void);

// 设置显示状态
void set_display_state(display_state_enumType_t state);

// 设置显示的4位数值
void set_display_value(uint16_t value);

// 显示内容模式切换接口
void set_display_content_mode(display_content_mode_enumType_t mode);
void display_content_mode_timeout_check(void);

void scan_display(void); // 新增的用于中断调用的扫描函数

#endif /* __DISPLAY_CONTROL_H__ */
